﻿using System.Collections.Generic;

namespace Algoritmia.DataStructures.Trees
{
    public interface IBinaryTree
    {
        IEnumerable<IBinaryTree> Children();
        IBinaryTree Left { get; set; }
        IBinaryTree Right { get; set; }
        IBinaryTree Parent { get; set; }
        bool IsLeft { get; }
        bool IsRight { get; }
        bool IsRoot { get; }
        void AppendLeft(IBinaryTree node);
        void AppendRight(IBinaryTree node);
    }
}
